package com.servitware.cardio.domain;


import java.io.Serializable;
import java.util.Date;

import com.servitware.cardio.domain.transport.ClienteTx;
import com.servitware.med.PacienteBasico;

/**
 * Este es el Cliente final, el que se hace la prueba y recibe el Informe.
 * 
 * @author erik
 *
 */
public class Cliente extends PacienteBasico implements Serializable
{
	private static final long serialVersionUID = 3486433974766953672L;
	
	private Centro centro = null;
	private Vendedor  vendedor = null;
	
	private String antecedentes = null;
	private String emailMedicoAlQueEnviarInforme = null;
	private boolean enviarResultadoPorCorreoPostal = false;
	private Date fechaRegistro = null;
	
	public Cliente()
	{
		super();
	}

	public Cliente(int id, String nombre)
	{
		super();
		this.setId(id);
		this.setName(nombre);
	}
	
	/*
	 * ------------------------------------------------- 
	 * NO TOCAR -- No es generado
	 * -------------------------------------------------
	 */

	/**
	 * Genera objeto de transporte para webs service RESTful/JSON
	 * 
	 * @return version SexionTx de Sesion
	 */
	public ClienteTx getClienteTx()
	{
		ClienteTx ctx = new ClienteTx(getId(), getName());
		
		ctx.setEnviarResultadoViaPostal( isEnviarResultadoPorCorreoPostal() );
		ctx.setAntecedentes( getAntecedentes() );
		ctx.setEstatura( getEstatura() );
		ctx.setPeso( (int)getPeso() );
		ctx.setSexo( getSexo().getSexoChar() );
		ctx.setFechaNacimiento(ctx.getFechaNacimiento());

		return ctx;
	}

	
/*
 * 
 * -----------------------------------------------------------------------------------
 * getters & setters
 * -----------------------------------------------------------------------------------
 */
	
	public String getAntecedentes()
	{
		return antecedentes;
	}

	public void setAntecedentes(String antecedentes)
	{
		this.antecedentes = antecedentes;
	}

	public boolean isEnviarResultadoPorCorreoPostal()
	{
		return enviarResultadoPorCorreoPostal;
	}

	public void setEnviarResultadoPorCorreoPostal(boolean enviarResultadoPorCorreoPostal)
	{
		this.enviarResultadoPorCorreoPostal = enviarResultadoPorCorreoPostal;
	}

	public String getEmailMedicoAlQueEnviarInforme()
	{
		return emailMedicoAlQueEnviarInforme;
	}

	public void setEmailMedicoAlQueEnviarInforme(String emailMedicoAlQueEnviarInforme)
	{
		this.emailMedicoAlQueEnviarInforme = emailMedicoAlQueEnviarInforme;
	}

	public Date getFechaRegistro()
	{
		return fechaRegistro;
	}

	public void setFechaRegistro(Date fechaRegistro)
	{
		this.fechaRegistro = fechaRegistro;
	}

	public Centro getCentro()
	{
		return centro;
	}

	public void setCentro(Centro centro)
	{
		this.centro = centro;
	}

	public Vendedor getVendedor()
	{
		return vendedor;
	}

	public void setVendedor(Vendedor vendedor)
	{
		this.vendedor = vendedor;
	}

	
}
